package com.github.dynamicProxy;

/**
 * @author fatfish
 * @version 1.0
 * @date 2025/8/14 16:58
 */
public class Client {
    public static void main(String[] args) {
        // 房东要租房子，但是现在我们不直接找房东，而是通过中介找房东租房子
        // 房东是被代理的对象
        Host host = new Host();
        // 代理角色
        ProxyInvocationHandler proxyInvocationHandler = new ProxyInvocationHandler();
        // 设置要代理的对象
        proxyInvocationHandler.setRent(host);
        // 生成代理对象
        Rent proxy = (Rent) proxyInvocationHandler.getProxy();
        // 执行代理对象的方法
        proxy.rent();

        System.out.println("=====================");


        GenneralProxyInvocationHandler genneralProxyInvocationHandler = new GenneralProxyInvocationHandler();
        genneralProxyInvocationHandler.setTarget(host);
        Rent proxy1 = (Rent) genneralProxyInvocationHandler.getProxy();
        proxy1.rent();
    }
}
